#include<stdio.h>
#include<string.h>

int main()
{
	char a[100],b[100],*p;
	printf("Please input string a:\n");
	scanf("%s",a);
	
	printf("Please input string b:\n");
	scanf("%s",b);

	//计算输入的字符串长度
	int len_a=strlen(a);
	int len_b=strlen(b);

	printf("a=%d b=%d a+b=%d\n",len_a,len_b,len_a+len_b);
	char c[(len_a+len_b)*2];
	
	int i=0,j=0,k=0;
	while(a[i]!='\0'&&b[j]!='\0')
	{
		if(a[i]<b[j])
		{
			c[k]=a[i];
			i++;
		}
		else
		{
			c[k]=b[j];
			j++;
		}
		k++;
	}
	c[k]='\0';		//合并结束符后加结束符'\0'

	if(a[i]=='\0')	//判断数组a的字符是否全部复制到c中
	{
		p=b+i;		//p指向数组b未复制的字符位置
	}
	if(b[j]=='\0')	
	{
		p=a+j;		//p指向数组a未复制的字符位置
	}
	strcat(c,p);	//将p指向位置开始的字符串连接到c中
	printf("%s\n",c);
	//puts(c);
	return 0;
}
